{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "import joblib\n",
    "import warnings\n",
    "import collections\n",
    "from itertools import zip_longest\n",
    "import os\n",
    "\n",
    "from scipy.optimize import curve_fit\n",
    "import GPy\n",
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline\n",
    "warnings.filterwarnings('ignore')\n",
    "\n",
    "from utils import cl_curve_smooth, curve_derivative"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "test_01 = joblib.load('./test_HA/test_HA_01.lz4')\n",
    "test_02 = joblib.load('./test_HA/test_HA_02.lz4')\n",
    "test_03 = joblib.load('./test_HA/test_HA_03.lz4')\n",
    "test_04 = joblib.load('./test_HA/test_HA_04.lz4')\n",
    "test_05 = joblib.load('./test_HA/test_HA_05.lz4')\n",
    "\n",
    "train_01 = joblib.load('./train_HA/train_HA_01.lz4')\n",
    "train_02 = joblib.load('./train_HA/train_HA_02.lz4')\n",
    "train_03 = joblib.load('./train_HA/train_HA_03.lz4')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 计算变化范围"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "def CL_percent_delta_initial(df, apply_col, seg_col, up_box=90, down_box=10, up_thred=10, down_thred=0, show_anomaly = False):\n",
    "    '''\n",
    "    描述：\n",
    "        初始化统计量 每一段时间的某一列变化范围(delta)，\n",
    "        注意：如果需要进一步使用cl_curve_smooth函数平滑曲线的话， show_anomaly应该设置为False\n",
    "    '''\n",
    "    data = df[apply_col]\n",
    "    seg_cl = df[seg_col].unique()\n",
    "    seg_cl.sort()\n",
    "    \n",
    "    # 初始化delta_list\n",
    "    delta_list = []\n",
    "    for cl in seg_cl:\n",
    "        tmp = data[df[seg_col] == cl]\n",
    "        up_bound = np.percentile(tmp, up_box)\n",
    "        down_bound = np.percentile(tmp, down_box)\n",
    "        cl_delta = up_bound - down_bound\n",
    "        delta_list.append(cl_delta)\n",
    "    if show_anomaly:\n",
    "        for i in range(len(delta_list)):\n",
    "            idx_delta = delta_list[i]\n",
    "            if (idx_delta>up_thred) or (idx_delta<down_thred):\n",
    "                delta_list[i] = -1\n",
    "\n",
    "    return seg_cl, delta_list\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 求delta"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x7fa5c0bad2e8>"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1152x576 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 'numpy_poly_fit'\n",
    "# CLI\n",
    "plt.figure(figsize=(16,8))\n",
    "cl, delta_list = CL_percent_delta_initial(train_01, 'PCA_T2', 'CLI', up_box=85, down_box=15, show_anomaly=False)\n",
    "cl, delta_list, _ = cl_curve_smooth(delta_list, cl, up_thred=30, down_thred=0, confidence=0.5, fit_type='moving_robust_avg')\n",
    "delta_list = pd.Series(delta_list).rolling(window=5, center=False, min_periods=1).mean().tolist()\n",
    "cl, delta_list, _ = cl_curve_smooth(delta_list, cl, up_thred=10, down_thred=0, confidence=0.0, fit_type='scipy_curve_fit')\n",
    "plt.plot(cl, delta_list, label='train_01')\n",
    "\n",
    "# CLI>45\n",
    "cl, delta_list = CL_percent_delta_initial(train_02[train_02['CLI']>45], 'PCA_T2', 'CLI', up_box=85, down_box=15, show_anomaly=False)\n",
    "cl, delta_list, _ = cl_curve_smooth(delta_list, cl, up_thred=30, down_thred=0, confidence=0.5, fit_type='moving_robust_avg')\n",
    "delta_list = pd.Series(delta_list).rolling(window=5, center=False, min_periods=1).mean().tolist()\n",
    "cl, delta_list, _ = cl_curve_smooth(delta_list, cl, up_thred=10, down_thred=0, confidence=0.0, fit_type='scipy_curve_fit')\n",
    "plt.plot(cl, delta_list, label='train_02')\n",
    "\n",
    "# CLI<140\n",
    "cl, delta_list = CL_percent_delta_initial(train_03[train_03['CLI']<140], 'PCA_T2', 'CLI', up_box=85, down_box=15, show_anomaly=False)\n",
    "cl, delta_list, _ = cl_curve_smooth(delta_list, cl, up_thred=30, down_thred=0, confidence=0.5, fit_type='moving_robust_avg')\n",
    "delta_list = pd.Series(delta_list).rolling(window=5, center=False, min_periods=1).mean().tolist()\n",
    "cl, delta_list, _ = cl_curve_smooth(delta_list, cl, up_thred=10, down_thred=0, confidence=0.0, fit_type='scipy_curve_fit')\n",
    "plt.plot(cl, delta_list, label='train_03')\n",
    "\n",
    "plt.legend()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x7fa5b9867be0>"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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Jz/5CcOHD+eqq67irrvuorCwkKKiIq644gqSkpK45557APjhD3942Gt85md0QBAEa8IwLDhWRqfvSpLUUYQhfLwpWqho03Pw8cbo9ZwCmPA9GHANdD8n3oySpEPce++9bNmyhSFDhjBhwgR69uzJ3Llzqa+vZ+rUqTz44INUV1czbdo0SktLaWxsZObMmWzfvp2tW7cyduxYsrOzWbp06SHX3rZtGxUVFYwYMQKAm2++mfnz51NYWMiVV1558LwRI0Ywb968Vvl+llJJktqzMIRtxdHzoZueg52bgQDO/hJM+iEMmAxZuXGnlKS24ygjmq3loYceYv369RQXF1NUVMS8efNYtWoVYRgyZcoUli1bRnl5Ob1792bRokUA7N27l6ysLB5++GGWLl16xJHSsrIycnM/+T2Qm5tLWVnZIec98cQTXHfdda3y/SylkiS1N01NULb6kxHRPX+CIBHOGQMj/hb6T4aM0+NOKUk6DkVFRRQVFTF06FAAqqqqKCkpYcyYMdx9993cc889TJ48mTFjxrTYPb///e+TlJTETTfd1GLX/DRLqSRJ7UFTI/zplQNFdCFUboWEZDhvLFz6beh/NaR1jzulJOkEhWHIfffdx2233XbIe2vXrmXx4sXcf//9jBs3jgceeOCY18vJyaG0tPTgcWlpKTk5OQePf/GLX7Bw4UJefPFFglZa6M5SKklSW9W4P9o7dOOz8NYiqC6HpFToOx4GfAfOnwidu8adUpJ0gjIyMqisrARg4sSJzJw5k5tuuon09HTKyspITk6moaGB7t27M336dLp27crjjz/+mc8eafpur169yMzM5NVXX2X48OHMnj2bO++8E4AlS5bwox/9iJdeeom0tLRW+36WUkmS2pKGetiyNJqW+9YiqNsDyV3g/CujFXP7ToBO6XGnlCS1oB49ejBq1Cjy8vIoLCzkxhtvZOTIkQCkp6czZ84cNm/ezIwZM0hISCA5OZlHH30UgFtvvZVJkybRu3fvwy50BDBr1ixuueUWamtrKSwspLCwEIA77riD+vp6JkyYAESLHf3sZz9r8e/nljCSJJ3q9tXA5heiIvrO81BfAZ2y4IJJURE97wpI7hx3Sklqtw633Yk+yy1hJElqb+orowK66Tko+T3sr4HO3T/ZQ/ScyyApJe6UkiSdMEupJEmnitrd8PaS6BnRLX+AxnpI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\n",
      "text/plain": [
       "<Figure size 1152x576 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(16,8))\n",
    "cl, delta_list = CL_percent_delta_initial(test_01, 'PCA_T2', 'CLI', up_box=95, down_box=5, show_anomaly=False)\n",
    "cl, delta_list, _ = cl_curve_smooth(delta_list, cl, up_thred=30, down_thred=0, confidence=0.5, fit_type='moving_robust_avg')\n",
    "delta_list = pd.Series(delta_list).rolling(window=4, center=False, min_periods=1).mean().tolist()\n",
    "cl, delta_list, fit_func_dict = cl_curve_smooth(delta_list, cl, up_thred=10, down_thred=0, confidence=0.0, fit_type='scipy_curve_fit')\n",
    "plt.plot(cl, delta_list, label='test_01')\n",
    "\n",
    "cl, delta_list = CL_percent_delta_initial(test_02, 'PCA_T2', 'CLI', up_box=95, down_box=5, show_anomaly=False)\n",
    "cl, delta_list, _ = cl_curve_smooth(delta_list, cl, up_thred=30, down_thred=0, confidence=0.5, fit_type='moving_robust_avg')\n",
    "delta_list = pd.Series(delta_list).rolling(window=4, center=False, min_periods=1).mean().tolist()\n",
    "cl, delta_list, fit_func_dict = cl_curve_smooth(delta_list, cl, up_thred=10, down_thred=0, confidence=0.0, fit_type='scipy_curve_fit')\n",
    "plt.plot(cl, delta_list, label='test_02')\n",
    "\n",
    "cl, delta_list = CL_percent_delta_initial(test_03, 'PCA_T2', 'CLI', up_box=95, down_box=5, show_anomaly=False)\n",
    "cl, delta_list, _ = cl_curve_smooth(delta_list, cl, up_thred=30, down_thred=0, confidence=0.5, fit_type='moving_robust_avg')\n",
    "delta_list = pd.Series(delta_list).rolling(window=4, center=False, min_periods=1).mean().tolist()\n",
    "cl, delta_list, fit_func_dict = cl_curve_smooth(delta_list, cl, up_thred=10, down_thred=0, confidence=0.0, fit_type='scipy_curve_fit')\n",
    "plt.plot(cl, delta_list, label='test_03')\n",
    "\n",
    "cl, delta_list = CL_percent_delta_initial(test_04, 'PCA_T2', 'CLI', up_box=95, down_box=5, show_anomaly=False)\n",
    "cl, delta_list, _ = cl_curve_smooth(delta_list, cl, up_thred=30, down_thred=0, confidence=0.5, fit_type='moving_robust_avg')\n",
    "delta_list = pd.Series(delta_list).rolling(window=4, center=False, min_periods=1).mean().tolist()\n",
    "cl, delta_list, fit_func_dict = cl_curve_smooth(delta_list, cl, up_thred=10, down_thred=0, confidence=0.0, fit_type='scipy_curve_fit')\n",
    "plt.plot(cl, delta_list, label='test_04')\n",
    "\n",
    "cl, delta_list = CL_percent_delta_initial(test_05, 'PCA_T2', 'CLI', up_box=95, down_box=5, show_anomaly=False)\n",
    "cl, delta_list, _ = cl_curve_smooth(delta_list, cl, up_thred=30, down_thred=0, confidence=0.5, fit_type='moving_robust_avg')\n",
    "delta_list = pd.Series(delta_list).rolling(window=4, center=False, min_periods=1).mean().tolist()\n",
    "cl, delta_list, fit_func_dict = cl_curve_smooth(delta_list, cl, up_thred=10, down_thred=0, confidence=0.0, fit_type='scipy_curve_fit')\n",
    "plt.plot(cl, delta_list, label='test_05')\n",
    "plt.legend()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 求delta的1阶导数"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x7fa5b97fecf8>"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA8AAAAHVCAYAAAA+UpKaAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzs3XmcFeWd7/HPc5Y+va9As9MNsqOCNIS4K0ERE3HJuMUMk0RNrs69uTeTmZDJ5E6uM5MXTiabM2pGo4Y4xmVGE5yoMaJBTVxBQRGavZGGpoHe6f2c89w/qs7S3adZ7Ibq5ft+Tb2q6qnneepXDZH+TtWpY6y1iIiIiIiIiAx1Pq8LEBERERERETkdFIBFRERERERkWFAAFhERERERkWFBAVhERERERESGBQVgERERERERGRYUgEVERERERGRYUAAWERERERGRYUEBWERERERERIYFBWAREREREREZFgJeF3A6jBgxwpaUlHhdhoiIiIiIiJwCGzZsOGKtHXm8fsMiAJeUlLB+/XqvyxAREREREZFTwBiz90T66RFoERERERERGRYUgEVERERERGRYUAAWERERERGRYWFYfAZYRERERERkIOrs7KSyspK2tjavSxkU0tPTGT9+PMFg8BONVwAWERERERHxSGVlJTk5OZSUlGCM8bqcAc1aS01NDZWVlZSWln6iOfQItIiIiIiIiEfa2tooKipS+D0BxhiKior6dLdcAVhERERERMRDCr8nrq8/KwVgERERERERGRYUgEVERERERGRYUAAWEREREREZpurr67nvvvtOetyyZcuor68/6XG1tbUsWbKEqVOnsmTJEurq6gAoLy/n05/+NKFQiH/5l3856XlPlN4CLSIiIiIiMgD8v//+iC0HGvt1zlljc/n7z83u9XgsAN9xxx1d2sPhMIFA73Hx+eef/0T1rFq1isWLF7Ny5UpWrVrFqlWruPvuuyksLOSee+7hN7/5zSea90TpDrCIiIiIiMgwtXLlSnbt2sXcuXNZsGABF1xwAVdddRWzZs0C4Oqrr2b+/PnMnj2bBx54ID6upKSEI0eOUFFRwcyZM7ntttuYPXs2l112Ga2trb2eb82aNaxYsQKAFStWxAPvqFGjWLBgwSf+ft8T1S93gI0xS4GfAn7g59baVd2Oh4BfAvOBGuAG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\n",
      "text/plain": [
       "<Figure size 1152x576 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(16,8))\n",
    "cl, delta_list = CL_percent_delta_initial(train_01, 'PCA_T2', 'CLI', up_box=95, down_box=5, show_anomaly=False)\n",
    "cl, delta_list, _ = cl_curve_smooth(delta_list, cl, up_thred=30, down_thred=0, confidence=0.5, fit_type='moving_robust_avg')\n",
    "cl, delta_list, fit_func_dict = cl_curve_smooth(delta_list, cl, up_thred=10, down_thred=0, confidence=0.0, fit_type='scipy_curve_fit', return_cureve_func=True)\n",
    "diff_list = curve_derivative(fit_func_dict, cl, 1)\n",
    "plt.plot(cl, diff_list, label='train_01')\n",
    "\n",
    "cl, delta_list = CL_percent_delta_initial(train_02[train_02['CLI']>45], 'PCA_T2', 'CLI', up_box=95, down_box=5, show_anomaly=False)\n",
    "cl, delta_list, _ = cl_curve_smooth(delta_list, cl, up_thred=30, down_thred=0, confidence=0.5, fit_type='moving_robust_avg')\n",
    "cl, delta_list, fit_func_dict = cl_curve_smooth(delta_list, cl, up_thred=10, down_thred=0, confidence=0.0, fit_type='scipy_curve_fit', return_cureve_func=True)\n",
    "diff_list = curve_derivative(fit_func_dict, cl, 1)\n",
    "plt.plot(cl, diff_list, label='train_02')\n",
    "\n",
    "cl, delta_list = CL_percent_delta_initial(train_03[train_03['CLI']<140], 'PCA_T2', 'CLI', up_box=95, down_box=5, show_anomaly=False)\n",
    "cl, delta_list, _ = cl_curve_smooth(delta_list, cl, up_thred=30, down_thred=0, confidence=0.5, fit_type='moving_robust_avg')\n",
    "cl, delta_list, fit_func_dict = cl_curve_smooth(delta_list, cl, up_thred=10, down_thred=0, confidence=0.0, fit_type='scipy_curve_fit', return_cureve_func=True)\n",
    "diff_list = curve_derivative(fit_func_dict, cl, 1)\n",
    "plt.plot(cl, diff_list, label='train_03')\n",
    "plt.legend()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x7fa5b977bb70>"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1152x576 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(16,8))\n",
    "cl, delta_list = CL_percent_delta_initial(test_01, 'PCA_T2', 'CLI', up_box=95, down_box=5, show_anomaly=False)\n",
    "cl, delta_list, _ = cl_curve_smooth(delta_list, cl, up_thred=30, down_thred=0, confidence=0.5, fit_type='moving_robust_avg')\n",
    "cl, delta_list, fit_func_dict = cl_curve_smooth(delta_list, cl, up_thred=10, down_thred=0, confidence=0.0, fit_type='scipy_curve_fit', return_cureve_func=True)\n",
    "diff_list = curve_derivative(fit_func_dict, cl, 1)\n",
    "plt.plot(cl, diff_list, label='test_01')\n",
    "\n",
    "cl, delta_list = CL_percent_delta_initial(test_02, 'PCA_T2', 'CLI', up_box=95, down_box=5, show_anomaly=False)\n",
    "cl, delta_list, _ = cl_curve_smooth(delta_list, cl, up_thred=30, down_thred=0, confidence=0.5, fit_type='moving_robust_avg')\n",
    "cl, delta_list, fit_func_dict = cl_curve_smooth(delta_list, cl, up_thred=10, down_thred=0, confidence=0.0, fit_type='scipy_curve_fit', return_cureve_func=True)\n",
    "diff_list = curve_derivative(fit_func_dict, cl, 1)\n",
    "plt.plot(cl, diff_list, label='test_02')\n",
    "\n",
    "cl, delta_list = CL_percent_delta_initial(test_03, 'PCA_T2', 'CLI', up_box=95, down_box=5, show_anomaly=False)\n",
    "cl, delta_list, _ = cl_curve_smooth(delta_list, cl, up_thred=30, down_thred=0, confidence=0.5, fit_type='moving_robust_avg')\n",
    "cl, delta_list, fit_func_dict = cl_curve_smooth(delta_list, cl, up_thred=10, down_thred=0, confidence=0.0, fit_type='scipy_curve_fit', return_cureve_func=True)\n",
    "diff_list = curve_derivative(fit_func_dict, cl, 1)\n",
    "plt.plot(cl, diff_list, label='test_03')\n",
    "\n",
    "cl, delta_list = CL_percent_delta_initial(test_04, 'PCA_T2', 'CLI', up_box=95, down_box=5, show_anomaly=False)\n",
    "cl, delta_list, _ = cl_curve_smooth(delta_list, cl, up_thred=30, down_thred=0, confidence=0.5, fit_type='moving_robust_avg')\n",
    "cl, delta_list, fit_func_dict = cl_curve_smooth(delta_list, cl, up_thred=10, down_thred=0, confidence=0.0, fit_type='scipy_curve_fit', return_cureve_func=True)\n",
    "diff_list = curve_derivative(fit_func_dict, cl, 1)\n",
    "plt.plot(cl, diff_list, label='test_04')\n",
    "\n",
    "cl, delta_list = CL_percent_delta_initial(test_05, 'PCA_T2', 'CLI', up_box=95, down_box=5, show_anomaly=False)\n",
    "cl, delta_list, _ = cl_curve_smooth(delta_list, cl, up_thred=30, down_thred=0, confidence=0.5, fit_type='moving_robust_avg')\n",
    "cl, delta_list, fit_func_dict = cl_curve_smooth(delta_list, cl, up_thred=10, down_thred=0, confidence=0.0, fit_type='scipy_curve_fit', return_cureve_func=True)\n",
    "diff_list = curve_derivative(fit_func_dict, cl,1)\n",
    "plt.plot(cl, diff_list, label='test_05')\n",
    "plt.legend()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
